package skywriting.examples.skyhout.common; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.io.serializer.Serialization; import org.apache.hadoop.io.serializer.WritableSerialization; import uk.co.mrry.mercator.task.JarTaskLoader; import uk.co.mrry.mercator.task.Task; public abstract class SkyhoutTask implements Task { @Override public void invoke(InputStream[] fis, OutputStream[] fos, String[] args) { try { Configuration conf = new Configuration(); conf.setClassLoader(JarTaskLoader.CLASSLOADER); conf.setClass("io.serializations", WritableSerialization.class, Serialization.class); SkywritingTaskFileSystem fs = new SkywritingTaskFileSystem(fis, fos, conf); this.invoke(fs, args); } catch (IOException ioe) { throw new RuntimeException(ioe); } } public abstract void invoke(SkywritingTaskFileSystem fs, String[] args) throws IOException; }